﻿using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Text;



using ProyectoFinal.Seguridad;
using ProyectoFinal.HandlerDB;
//using Client;



namespace ProyectoFinal.Controles
{
    public class conValidar
    {
        private Usuario usuario;
        private String strcon;

               
        public conValidar(String str)
        {
            strcon = str;
        }


        public bool validarUsuarioCORBA(String nick, String pass) 
        {
            return true;
        
        }

        public bool validarUsuario(String nick, String pass)
        {
            //---------------------------------------------------
           
             //return HelloClient.Validarusuario(nick,pass);
             
             
            //---------------------------------------------------
            List<Parametro> parms = new List<Parametro>();
            Parametro p = new Parametro("usuario", nick,SqlDbType.NVarChar);

            parms.Add(p);

            HandlerDataBase handler = new HandlerDataBase(strcon);

            SqlDataReader rdr = handler.ExecuteWithOneResult("PERSONA", "SelectCommandPersonaByNickName", parms);

            SqlCommand cmd = new SqlCommand();
     
            if (!rdr.HasRows)
                return false;
            else
            {
             
                Usuario user_from_db = Utility.DataTableToUser(TypeClass.USUARIO, rdr);
                
                //Utility.DataTableToClass(TypeClass.USUARIO, HandlerDataBase.ExecuteWithResult("USUARIO", "SelectCommandUsuarioByNickName", parms));

                string criptograma_from_client = Security.EncryptText(Security.Key, pass);

                if (criptograma_from_client == user_from_db.password)
                {
                    
                    //HttpContext.Current.Session["ClsUsuario"] = user_from_db;

                    usuario = user_from_db;
                    return true;
                    
                }
                else
                    return false;
            }

        }
    

        public Usuario GetUsuario
        {
                get { return this.usuario;}
        }

     }
}